So that more people have access to computer resources, increasingly intuitive and appealing interfaces are being developed. These new interfaces tend to involve interactive and animated visual elements that move and change appearance under specified conditions. In addition, the devices that humans used to interact with a visual interface are being simplified so that a full range of activities must be achieved with a minimal variety of commands.
One relatively new interface, used for example in Windows Media Center available from Microsoft Corporation, moves selections relative to a focal position (as opposed to moving a cursor through a static list). As an object, e.g., a text string, approaches the focal position, it becomes more salient. For example, text font size may increase. Once an object reaches the focal position, its size may increase further and other features will change to emphasize it over other items on display. For example, the text in the focal position may acquire a shadow so that it seems to pop out of the two-dimensional display. As it moves past the focal position, it loses salience.
Such an interface is easy to operate using very simple controls. However, the programming underlying such an interface can be very complex. Object-oriented programming can be used to simplify the task relative to classical linear programming. For each object, the way it changes in appearance can be programmed. Common characteristics can be redefined for a class of objects so that common characteristics do not have to be defined for each individual object. Nonetheless, the programming for each object can be extensive, complex, and error-prone.